<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>01_相关问题</title>
</head>
<body>
<!--
1. undefined与null的区别?
  * undefined代表声明但没有赋值
  * null代表声明赋值了, 只是值为null
2. 什么时候给变量赋值为null呢?
  * var a = null //初始赋值，a将指向一个对象, 但对象此时还没有确定
  * a = null //结束前，让a指向的对象成为垃圾对象
3. 严格区别变量类型与数据类型?
  * js的变量本身是没有类型的, 变量的类型实际上是变量内存中数据的类型
  * 数据的类型
		* 基本类型
		* 对象类型
	* 变量的类型（变量内存值的类型）:
    * 基本类型: 保存的就是基本类型的数据
    * 引用类型: 保存的就是地址值

-->

<script type="text/javascript">
  // 1. undefined与null的区别?
  var a1;
  var a2 = null;
  console.log(a1, a2);;//undefined null

  // 2. 什么时候给变量赋值为null呢?
    //初始赋值为null，表明将要赋值为对象
  var a3 = null;
  var name = 'Tom';
  var age = 12;
  a3 = {
    name: name,
    age: age
  };
	 //结束，让a3指向的对象成为垃圾对象（被垃圾回收器回收）
  a3 = null
  console.log(a3);

</script>

</body>
</html>